using System;
using Piece = System.Int32;
using RNChessBoardCommonTypes;
//---------------------------------------------------------------------------//
//																			 //
//			r  n  C  h  e  s  s  B  o  a  r  d  C  o  n  t  r  o  l			 //
//			=======================================================			 //
//						  (c) 2003 Chris R. Chapman							 //
//																			 //
//	Version:		1.0	Full												 //
//  Date:			May 2003												 //
//  Author:			Chris R. Chapman (chris@chapmanconsulting.ca)			 //
//  Description:	A chessboard GUI written in 100% .Net/C#, featuring		 //
//					a resizable board with adjustable colors and configurable//
//					images for pieces, as well as events for capturing player//
//					movement and illegal moves.								 //
//																			 //
//																			 //
// LICENSING:		Can be freely distributed and used as long as the		 //
//					following criteria are met:								 //
//																			 //
//					1) All copyright notices are kept intact;				 //
//					2) Product is not for commercial resale;				 //
//					3) Product is NOT used in conjunction with ANY GPLed or  //
//					   FSF software.  I cannot abide by their philosophies.  //
//					4) Credit for the control to me is made in some			 //
//					   conspicuous fashion, like an About box.				 //
//---------------------------------------------------------------------------//
namespace RNChessRulesEngine
{
	/// <summary>
	/// This class defines the event argument object used for raising a pawn-promotion event and
	/// tracking the result.
	/// </summary>
	public class PawnPromotionEventArgs : EventArgs
	{
		/// <summary>
		/// Get/set the piece that the pawn will be promoted into.
		/// </summary>
		public Piece PromotedPiece = ChessPieceDefinition.NONE;
		public PlayerTurn PromotionSide;

		/// <summary>
		/// Constructs a PawnPromotionEventArgs object.
		/// </summary>
		/// <param name="promotePawnToPiece"></param>
		public PawnPromotionEventArgs(Piece promotePawnToPiece)
		{
			PromotedPiece = promotePawnToPiece;
		}
	}
}
